Some processing systems may concurrently execute two independent processing threads. One problem with these systems is that a malicious thread or process may be able to gather information about another thread or process. For example, when a cryptographic process is using a secret key, a malicious process may able to determine the bits of the key by monitoring certain operations performed by the cryptographic process.
Thus, there are general needs for processing systems and methods that can adapt to attacks by malicious processes. There are also general needs for processing systems and methods that can efficiently perform cryptographic processes and adapt to attacks on these cryptographic processes. There are also general needs for processing systems and methods that can securely perform cryptographic processes in the presence of an attack by a malicious process.